home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
By the Book
/
Learn C++ (CodeWarrior)
/
Chap 07.05 - subscript
/
subscript.cp
< prev
next >
Wrap
Text File
|
1995-10-20
|
826b
|
56 lines
#include <iostream.h>
#include <string.h>
const short kMaxNameLength = 40;
//--------------------------------------- Name
class Name
{
private:
char nameString[ kMaxNameLength ];
short nameLength;
public:
Name( char *name );
void operator()();
char &operator[]( short index );
};
Name::Name( char *name )
{
strcpy( nameString, name );
nameLength = strlen( name );
}
void Name::operator()()
{
cout << nameString << "\n";
}
char& Name::operator[]( short index )
{
if ( ( index < 0 ) || ( index >= nameLength ) )
{
cout << "index out of bounds!!!\n";
return( nameString[ 0 ] );
}
else
return( nameString[ index ] );
}
//--------------------------------------- main()
int main()
{
Name pres( "B. J. Clinton" );
pres[ 3 ] = 'X';
pres();
pres[ 25 ] = 'Z';
pres();
return 0;
}